MySQL IFNULL() এবং COALESCE() ফাংশন
নিম্নলিখিত "পণ্য" টেবিল দেখুন:
| P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
|---|---|---|---|---|
| 1 | Jarlsberg | 10.45 | 16 | 15 |
| 2 | Mascarpone | 32.56 | 23 | |
| 3 | Gorgonzola | 15.67 | 9 | 20 |
অনুমান করুন যে "UnitsOnOrder" কলামটি ঐচ্ছিক এবং এতে NULL মান থাকতে পারে।
নিম্নলিখিত SELECT বিবৃতি বিবেচনা করুন:
SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)
FROM Products;
উপরের উদাহরণে, "UnitsOnOrder" মানগুলির যেকোনো একটি NULL হলে, ফলাফলটি NULL হবে।
MySQL IFNULL() ফাংশন
MySQL IFNULL() ফাংশন আপনাকে একটি প্রতিস্থাপন মান ফেরত দিতে দেয় যদি একটি অভিব্যক্তি NULL হয়।
মান NULL হলে নীচের উদাহরণটি 0 প্রদান করে:
SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;
MySQL COALESCE() ফাংশন
অথবা আমরা COALESCE() ফাংশন ব্যবহার করতে পারি, যেমন:
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;